1. Field of the Invention
The present invention is directed to a method that is employed in distributed, shared work environments, known as groupware systems and CSCW (computer supported cooperative work) systems.
2. Description of the Prior Art
Groupware systems and CSCW systems are useful for supporting a large variety of types of common work of various users of different workgroups at computers.
Known CSCW Systems, however, can only be efficiently utilized when they support a simple transition between synchronous and asynchronous, coupled collaboration of the various users at the CSCW System.
Coupled collaboration between users in this context means that all messages that are sent from one user of the CSCW system are communicated to all other users that are involved in the CSCW system at the respective point in time.
If the coupled collaboration is synchronous, this ensues in real-time. When this real-time processing, i.e. the transmission and reception of the messages in real-time to all users, or from all users, of the CSCW system is not possible, this means that the users work in asynchronous, coupled collaboration.
Coupled collaboration thus refers to all possibilities of electronic data exchange between computers coupled via communication networks. This includes, for example, an audio/video conference, data sharing or application sharing, electronic mail or distributed calendar tools. This list, however, is definitely not exhaustive.
As an extremely simple example, one can imagine two users of the CSCW system situated at different locations in this context who develop a document in common, for example a help document for a software tool. Each user develops his or her part of the document asynchronously, i.e. independently of the other user. It is necessary, however, from time to time for these users to exchange with one another or even consult other users in order to merge the independently developed parts of the document to form an overall document. For example, the use of a video conference and application sharing can be a very efficient method for supporting a merging of the parts of the document to form the overall document to be ultimately developed.
In order also to be able to efficiently collaborate with mobile and location-independent users, it is of significance that the work environment, for example the CSCW system of the users, is independent of a temporary physical connection of the individual users to the shared work environment. For this purpose it is necessary to create a simple transition between phases of the coupled collaboration as well as the decoupled collaboration.
Decoupled collaboration in this context means the situation of at least one user of the shared work environment being either unable to send messages to the other users or unable to receive any messages from these users. This possibility of decoupled collaboration, which is also referred to as autonomous work, especially improves the collaboration in organizations wherein parts of the organization are located locally distributed, when high costs are incurred for the transmission of data or the network that is employed is subject to high traffic or is extremely susceptible to error.
Examples of such work environments are distributed office work environments and development groups that work in a so-called tele at-home mode or distributed development tools as well.
The replication, i.e. copying of data accessible in common is the prerequisite for a simple possibility for creating a transition between coupled and decoupled collaboration without allowing a delay to be noticeable. For example, this puts the users of a shared work environment in the position of continuing to respectively work using their respective copies of the data without restriction, even given the occurrence of connection faults.
When the connection with the other users is restored, the data modified during the decoupled phase must again be merged to form a shared, consistent data structure. A matching of a number of independent data copies of a data file stored in at least one computer is thus required.
An overview of the various, known procedures for matching a number of independent data copies may be found in S. Davidson et al, Consistency in Partitioned Networks, Computing Surveys, Vol. 17, No. 3, ACM 0360-0300/85/0900-0341, pp. 341-370, Sep. 1985.
A method employed in a system called by the name GINA is described in J. Munson et al, A Flexible Object Merging Framework, University of North California Chapel Hill, CSCW 94-10/94, ACM 0-89791-689-1/94/0010, pp. 231-242, 1994. This is a method wherein protocol data files are allocated to the individual data copies. In the method in GINA, different versions are generated by the execution of modification operations given the processing of the individual data copies during the autonomous phase. In this way, a tree with two branches is formed in a protocol data file. The matching of the data copies is then undertaken in such a way that one of the branches is appended to the end of the other branch. The operations that are executed in the one branch are thereby likewise executed at the other side. This method is inflexible. Moreover, individual conflicts are not taken into consideration in this method nor is the sequence of the conflict elimination.
This means an unnecessary, additional calculating outlay during the matching of the data on the respective computers. Further, this method is only described for direct matching of two data copies.
A further method that is employed in a system referred to as COCOON is described in M. Kolland et al, Information Sharing in Collaborative Environments, Proceedings of the third workshop on enabling technologies: Infrastructure for collaborative Enterprises, Morgantown, W.V., IEEE, pp. 140-154, 17 to 19. April 1994. In this method, as well, protocol data files respectively allocated to be data copies are employed. The method, however, employs a fixed chronological sequence for matching the data copies in that it "works through" the protocol data files from beginning to end and processes the individual modifications as they are encountered in chronological succession. This method has the disadvantage that certain matchings are unnecessarily implemented because of limited "knowledge" about modification operations in the protocol data file, or some matching may even need to be revised at a later time, for example matchings of structural modifications of datasets that are later deleted.
This causes an increased requirement for calculating time for the implementation of the method described in Kolland et al. by a computer.